home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Printing.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  15.1 KB  |  502 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Printing.p
  3.  
  4.      Contains:    Print Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1985-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Printing;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __PRINTING__}
  28. {$SETC __PRINTING__ := 1}
  29.  
  30. {$I+}
  31. {$SETC PrintingIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __DIALOGS__}
  41. {$I Dialogs.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49.  
  50. CONST
  51.     iPFMaxPgs                    = 128;
  52.     iPrPgFract                    = 120;                            { Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract }
  53.     iPrPgFst                    = 1;                            { Page range constants }
  54.     iPrPgMax                    = 9999;
  55.     iPrRelease                    = 3;                            { Current version number of the code. }
  56.     iPrSavPFil                    = -1;
  57.     iPrAbort                    = $0080;
  58.     iPrDevCtl                    = 7;                            { The PrDevCtl Proc's ctl number }
  59.     lPrReset                    = $00010000;                    { The PrDevCtl Proc's CParam for reset }
  60.     lPrLineFeed                    = $00030000;
  61.     lPrLFStd                    = $0003FFFF;                    { The PrDevCtl Proc's CParam for std paper advance }
  62.     lPrLFSixth                    = $0003FFFF;
  63.     lPrPageEnd                    = $00020000;                    { The PrDevCtl Proc's CParam for end page }
  64.     lPrDocOpen                    = $00010000;
  65.     lPrPageOpen                    = $00040000;
  66.     lPrPageClose                = $00020000;
  67.     lPrDocClose                    = $00050000;
  68.     iFMgrCtl                    = 8;                            { The FMgr's Tail-hook Proc's ctl number }
  69.     iMscCtl                        = 9;                            { The FMgr's Tail-hook Proc's ctl number }
  70.     iPvtCtl                        = 10;                            { The FMgr's Tail-hook Proc's ctl number }
  71.  
  72. {    Error Codes moved to Errors.(hap) }
  73.     pPrGlobals                    = $00000944;                    { The PrVars lo mem area: }
  74.     bDraftLoop                    = 0;
  75.     bSpoolLoop                    = 1;
  76.     bUser1Loop                    = 2;
  77.     bUser2Loop                    = 3;
  78.     fNewRunBit                    = 2;
  79.     fHiResOK                    = 3;
  80.     fWeOpenedRF                    = 4;                            { Driver constants  }
  81.     iPrBitsCtl                    = 4;
  82.     lScreenBits                    = 0;
  83.     lPaintBits                    = 1;
  84.     lHiScreenBits                = $00000002;                    { The Bitmap Print Proc's Screen Bitmap param }
  85.     lHiPaintBits                = $00000003;                    { The Bitmap Print Proc's Paint [sq pix] param }
  86.     iPrIOCtl                    = 5;
  87.     iPrEvtCtl                    = 6;                            { The PrEvent Proc's ctl number }
  88.     lPrEvtAll                    = $0002FFFD;                    { The PrEvent Proc's CParam for the entire screen }
  89.     lPrEvtTop                    = $0001FFFD;                    { The PrEvent Proc's CParam for the top folder }
  90.     iPrDrvrRef                    = -3;
  91.  
  92.     getRslDataOp                = 4;
  93.     setRslOp                    = 5;
  94.     draftBitsOp                    = 6;
  95.     noDraftBitsOp                = 7;
  96.     getRotnOp                    = 8;
  97.     NoSuchRsl                    = 1;
  98.     OpNotImpl                    = 2;                            { the driver doesn't support this opcode }
  99.     RgType1                        = 1;
  100.  
  101.     feedCut                        = 0;
  102.     feedFanfold                    = 1;
  103.     feedMechCut                    = 2;
  104.     feedOther                    = 3;
  105.  
  106.  
  107. TYPE
  108.     TFeed                                = SInt8;
  109.  
  110. CONST
  111.     scanTB                        = 0;
  112.     scanBT                        = 1;
  113.     scanLR                        = 2;
  114.     scanRL                        = 3;
  115.  
  116.  
  117. TYPE
  118.     TScan                                = SInt8;
  119. { A Rect Ptr }
  120.     TPRect                                = ^Rect;
  121.     PrIdleProcPtr = ProcPtr;  { PROCEDURE PrIdle; }
  122.  
  123.     PItemProcPtr = ProcPtr;  { PROCEDURE PItem(theDialog: DialogPtr; item: INTEGER); }
  124.  
  125.     PrIdleUPP = UniversalProcPtr;
  126.     PItemUPP = UniversalProcPtr;
  127.  
  128. CONST
  129.     uppPrIdleProcInfo = $00000000;
  130.     uppPItemProcInfo = $000002C0;
  131.  
  132. FUNCTION NewPrIdleProc(userRoutine: PrIdleProcPtr): PrIdleUPP;
  133.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  134.     INLINE $2E9F;
  135.     {$ENDC}
  136.  
  137. FUNCTION NewPItemProc(userRoutine: PItemProcPtr): PItemUPP;
  138.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  139.     INLINE $2E9F;
  140.     {$ENDC}
  141.  
  142. PROCEDURE CallPrIdleProc(userRoutine: PrIdleUPP);
  143.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  144.     INLINE $205F, $4E90;
  145.     {$ENDC}
  146.  
  147. PROCEDURE CallPItemProc(theDialog: DialogPtr; item: INTEGER; userRoutine: PItemUPP);
  148.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  149.     INLINE $205F, $4E90;
  150.     {$ENDC}
  151.  
  152. TYPE
  153.     TPrPortPtr = ^TPrPort;
  154.     TPrPort = RECORD
  155.         gPort:                    GrafPort;                                { The Printer's graf port. }
  156.         gProcs:                    QDProcs;                                { ..and its procs }
  157.         lGParam1:                LONGINT;                                { 16 bytes for private parameter storage. }
  158.         lGParam2:                LONGINT;
  159.         lGParam3:                LONGINT;
  160.         lGParam4:                LONGINT;
  161.         fOurPtr:                BOOLEAN;                                { Whether the PrPort allocation was done by us. }
  162.         fOurBits:                BOOLEAN;                                { Whether the BitMap allocation was done by us. }
  163.     END;
  164.  
  165.     TPPrPort                            = ^TPrPort;
  166.     TPPrPortRef                            = ^TPrPort;
  167. { Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  168.   This is the "PrPeek" record. }
  169.     TPrInfoPtr = ^TPrInfo;
  170.     TPrInfo = RECORD
  171.         iDev:                    INTEGER;                                { Font mgr/QuickDraw device code }
  172.         iVRes:                    INTEGER;                                { Resolution of device, in device coordinates }
  173.         iHRes:                    INTEGER;                                { ..note: V before H => compatable with Point. }
  174.         rPage:                    Rect;                                    { The page (printable) rectangle in device coordinates. }
  175.     END;
  176.  
  177.     TPPrInfo                            = ^TPrInfo;
  178. { Print Info Record: The parameters needed for page composition. }
  179.     TPrStlPtr = ^TPrStl;
  180.     TPrStl = RECORD
  181.         wDev:                    INTEGER;
  182.         iPageV:                    INTEGER;
  183.         iPageH:                    INTEGER;
  184.         bPort:                    SInt8;
  185.         feed:                    TFeed;
  186.     END;
  187.  
  188.     TPPrStl                                = ^TPrStl;
  189.     TPrXInfoPtr = ^TPrXInfo;
  190.     TPrXInfo = RECORD
  191.         iRowBytes:                INTEGER;
  192.         iBandV:                    INTEGER;
  193.         iBandH:                    INTEGER;
  194.         iDevBytes:                INTEGER;
  195.         iBands:                    INTEGER;
  196.         bPatScale:                SInt8;
  197.         bUlThick:                SInt8;
  198.         bUlOffset:                SInt8;
  199.         bUlShadow:                SInt8;
  200.         scan:                    TScan;
  201.         bXInfoX:                SInt8;
  202.     END;
  203.  
  204.     TPPrXInfo                            = ^TPrXInfo;
  205.     TPrJobPtr = ^TPrJob;
  206.     TPrJob = RECORD
  207.         iFstPage:                INTEGER;                                { Page Range. }
  208.         iLstPage:                INTEGER;
  209.         iCopies:                INTEGER;                                { No. copies. }
  210.         bJDocLoop:                SInt8;                                    { The Doc style: Draft, Spool, .., and .. }
  211.         fFromUsr:                BOOLEAN;                                { Printing from an User's App (not PrApp) flag }
  212.         pIdleProc:                PrIdleUPP;                                { The Proc called while waiting on IO etc. }
  213.         pFileName:                StringPtr;                                { Spool File Name: NIL for default. }
  214.         iFileVol:                INTEGER;                                { Spool File vol, set to 0 initially }
  215.         bFileVers:                SInt8;                                    { Spool File version, set to 0 initially }
  216.         bJobX:                    SInt8;                                    { An eXtra byte. }
  217.     END;
  218.  
  219.     TPPrJob                                = ^TPrJob;
  220. { Print Job: Print "form" for a single print request. }
  221.     TPrFlag1Ptr = ^TPrFlag1;
  222.     TPrFlag1 = PACKED RECORD
  223.         f15:                    BOOLEAN;
  224.         f14:                    BOOLEAN;
  225.         f13:                    BOOLEAN;
  226.         f12:                    BOOLEAN;
  227.         f11:                    BOOLEAN;
  228.         f10:                    BOOLEAN;
  229.         f9:                        BOOLEAN;
  230.         f8:                        BOOLEAN;
  231.         f7:                        BOOLEAN;
  232.         f6:                        BOOLEAN;
  233.         f5:                        BOOLEAN;
  234.         f4:                        BOOLEAN;
  235.         f3:                        BOOLEAN;
  236.         f2:                        BOOLEAN;
  237.         fLstPgFst:                BOOLEAN;
  238.         fUserScale:                BOOLEAN;
  239.     END;
  240.  
  241.     TPrintPtr = ^TPrint;
  242.     TPrint = RECORD
  243.         iPrVersion:                INTEGER;                                { (2) Printing software version }
  244.         prInfo:                    TPrInfo;                                { (14) the PrInfo data associated with the current style. }
  245.         rPaper:                    Rect;                                    { (8) The paper rectangle [offset from rPage] }
  246.         prStl:                    TPrStl;                                    { (8)  This print request's style. }
  247.         prInfoPT:                TPrInfo;                                { (14)  Print Time Imaging metrics }
  248.         prXInfo:                TPrXInfo;                                { (16)  Print-time (expanded) Print info record. }
  249.         prJob:                    TPrJob;                                    { (20) The Print Job request (82)  Total of the above; 120-82 = 38 bytes needed to fill 120 }
  250.         CASE INTEGER OF
  251.         0: (
  252.             printX:                ARRAY [1..19] OF INTEGER;
  253.             );
  254.         1: (
  255.             prFlag1:            TPrFlag1;
  256.             iZoomMin:            INTEGER;
  257.             iZoomMax:            INTEGER;
  258.             hDocName:            StringHandle;
  259.            );
  260.     END;
  261.  
  262.     TPPrint                                = ^TPrint;
  263.     THPrint                                = ^TPPrint;
  264.     TPrStatusPtr = ^TPrStatus;
  265.     TPrStatus = RECORD
  266.         iTotPages:                INTEGER;                                { Total pages in Print File. }
  267.         iCurPage:                INTEGER;                                { Current page number }
  268.         iTotCopies:                INTEGER;                                { Total copies requested }
  269.         iCurCopy:                INTEGER;                                { Current copy number }
  270.         iTotBands:                INTEGER;                                { Total bands per page. }
  271.         iCurBand:                INTEGER;                                { Current band number }
  272.         fPgDirty:                BOOLEAN;                                { True if current page has been written to. }
  273.         fImaging:                BOOLEAN;                                { Set while in band's DrawPic call. }
  274.         hPrint:                    THPrint;                                { Handle to the active Printer record }
  275.         pPrPort:                TPPrPortRef;                            { Ptr to the active PrPort }
  276.         hPic:                    PicHandle;                                { Handle to the active Picture }
  277.     END;
  278.  
  279.     TPPrStatus                            = ^TPrStatus;
  280.     TPPrStatusRef                        = ^TPrStatus;
  281.  
  282. { Print Status: Print information during printing. }
  283.     TPfPgDirPtr = ^TPfPgDir;
  284.     TPfPgDir = RECORD
  285.         iPages:                    INTEGER;
  286.         iPgPos:                    ARRAY [0..128] OF LONGINT;                { ARRAY [0..iPfMaxPgs] OF LONGINT }
  287.     END;
  288.  
  289.     TPPfPgDir                            = ^TPfPgDir;
  290.     THPfPgDir                            = ^TPPfPgDir;
  291. { PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) }
  292. { This is the Printing Dialog Record. Only used by folks appending their own
  293.    DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. }
  294.     TPrDlgPtr = ^TPrDlg;
  295.     TPrDlg = RECORD
  296.         Dlg:                    DialogRecord;                            { The Dialog window }
  297.         pFltrProc:                ModalFilterUPP;                            { The Filter Proc. }
  298.         pItemProc:                PItemUPP;                                { The Item evaluating proc. }
  299.         hPrintUsr:                THPrint;                                { The user's print record. }
  300.         fDoIt:                    BOOLEAN;
  301.         fDone:                    BOOLEAN;
  302.         lUser1:                    LONGINT;                                { Four longs for apps to hang global data. }
  303.         lUser2:                    LONGINT;                                { Plus more stuff needed by the particular }
  304.         lUser3:                    LONGINT;                                { printing dialog. }
  305.         lUser4:                    LONGINT;
  306.     END;
  307.  
  308.     TPPrDlg                                = ^TPrDlg;
  309.     TPPrDlgRef                            = ^TPrDlg;
  310.     PDlgInitProcPtr = ProcPtr;  { FUNCTION PDlgInit(hPrint: THPrint): TPPrDlgRef; }
  311.  
  312.     PDlgInitUPP = UniversalProcPtr;
  313.  
  314. CONST
  315.     uppPDlgInitProcInfo = $000000F0;
  316.  
  317. FUNCTION NewPDlgInitProc(userRoutine: PDlgInitProcPtr): PDlgInitUPP;
  318.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  319.     INLINE $2E9F;
  320.     {$ENDC}
  321.  
  322. FUNCTION CallPDlgInitProc(hPrint: THPrint; userRoutine: PDlgInitUPP): TPPrDlgRef;
  323.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  324.     INLINE $205F, $4E90;
  325.     {$ENDC}
  326.  
  327. TYPE
  328.     TGnlDataPtr = ^TGnlData;
  329.     TGnlData = RECORD
  330.         iOpCode:                INTEGER;
  331.         iError:                    INTEGER;
  332.         lReserved:                LONGINT;                                { more fields here depending on call }
  333.     END;
  334.  
  335.     TRslRgPtr = ^TRslRg;
  336.     TRslRg = RECORD
  337.         iMin:                    INTEGER;
  338.         iMax:                    INTEGER;
  339.     END;
  340.  
  341.     TRslRecPtr = ^TRslRec;
  342.     TRslRec = RECORD
  343.         iXRsl:                    INTEGER;
  344.         iYRsl:                    INTEGER;
  345.     END;
  346.  
  347.     TGetRslBlkPtr = ^TGetRslBlk;
  348.     TGetRslBlk = RECORD
  349.         iOpCode:                INTEGER;
  350.         iError:                    INTEGER;
  351.         lReserved:                LONGINT;
  352.         iRgType:                INTEGER;
  353.         xRslRg:                    TRslRg;
  354.         yRslRg:                    TRslRg;
  355.         iRslRecCnt:                INTEGER;
  356.         rgRslRec:                ARRAY [1..27] OF TRslRec;
  357.     END;
  358.  
  359.     TSetRslBlkPtr = ^TSetRslBlk;
  360.     TSetRslBlk = RECORD
  361.         iOpCode:                INTEGER;
  362.         iError:                    INTEGER;
  363.         lReserved:                LONGINT;
  364.         hPrint:                    THPrint;
  365.         iXRsl:                    INTEGER;
  366.         iYRsl:                    INTEGER;
  367.     END;
  368.  
  369.     TDftBitsBlkPtr = ^TDftBitsBlk;
  370.     TDftBitsBlk = RECORD
  371.         iOpCode:                INTEGER;
  372.         iError:                    INTEGER;
  373.         lReserved:                LONGINT;
  374.         hPrint:                    THPrint;
  375.     END;
  376.  
  377.     TGetRotnBlkPtr = ^TGetRotnBlk;
  378.     TGetRotnBlk = RECORD
  379.         iOpCode:                INTEGER;
  380.         iError:                    INTEGER;
  381.         lReserved:                LONGINT;
  382.         hPrint:                    THPrint;
  383.         fLandscape:                BOOLEAN;
  384.         bXtra:                    SInt8;
  385.     END;
  386.  
  387. PROCEDURE PrPurge;
  388.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  389.     INLINE $2F3C, $A800, $0000, $A8FD;
  390.     {$ENDC}
  391. PROCEDURE PrNoPurge;
  392.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  393.     INLINE $2F3C, $B000, $0000, $A8FD;
  394.     {$ENDC}
  395. PROCEDURE PrOpen;
  396.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  397.     INLINE $2F3C, $C800, $0000, $A8FD;
  398.     {$ENDC}
  399. PROCEDURE PrClose;
  400.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  401.     INLINE $2F3C, $D000, $0000, $A8FD;
  402.     {$ENDC}
  403. PROCEDURE PrintDefault(hPrint: THPrint);
  404.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  405.     INLINE $2F3C, $2004, $0480, $A8FD;
  406.     {$ENDC}
  407. FUNCTION PrValidate(hPrint: THPrint): BOOLEAN;
  408.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  409.     INLINE $2F3C, $5204, $0498, $A8FD;
  410.     {$ENDC}
  411. FUNCTION PrStlDialog(hPrint: THPrint): BOOLEAN;
  412.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  413.     INLINE $2F3C, $2A04, $0484, $A8FD;
  414.     {$ENDC}
  415. FUNCTION PrJobDialog(hPrint: THPrint): BOOLEAN;
  416.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  417.     INLINE $2F3C, $3204, $0488, $A8FD;
  418.     {$ENDC}
  419. FUNCTION PrStlInit(hPrint: THPrint): TPPrDlgRef;
  420.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  421.     INLINE $2F3C, $3C04, $040C, $A8FD;
  422.     {$ENDC}
  423. FUNCTION PrJobInit(hPrint: THPrint): TPPrDlgRef;
  424.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  425.     INLINE $2F3C, $4404, $0410, $A8FD;
  426.     {$ENDC}
  427. PROCEDURE PrJobMerge(hPrintSrc: THPrint; hPrintDst: THPrint);
  428.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  429.     INLINE $2F3C, $5804, $089C, $A8FD;
  430.     {$ENDC}
  431. FUNCTION PrDlgMain(hPrint: THPrint; pDlgInit: PDlgInitUPP): BOOLEAN;
  432.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  433.     INLINE $2F3C, $4A04, $0894, $A8FD;
  434.     {$ENDC}
  435. FUNCTION PrOpenDoc(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr): TPPrPortRef;
  436.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  437.     INLINE $2F3C, $0400, $0C00, $A8FD;
  438.     {$ENDC}
  439. PROCEDURE PrCloseDoc(pPrPort: TPPrPortRef);
  440.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  441.     INLINE $2F3C, $0800, $0484, $A8FD;
  442.     {$ENDC}
  443. PROCEDURE PrOpenPage(pPrPort: TPPrPortRef; pPageFrame: TPRect);
  444.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  445.     INLINE $2F3C, $1000, $0808, $A8FD;
  446.     {$ENDC}
  447. PROCEDURE PrClosePage(pPrPort: TPPrPortRef);
  448.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  449.     INLINE $2F3C, $1800, $040C, $A8FD;
  450.     {$ENDC}
  451. PROCEDURE PrPicFile(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr; pDevBuf: Ptr; prStatus: TPPrStatusRef);
  452.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  453.     INLINE $2F3C, $6005, $1480, $A8FD;
  454.     {$ENDC}
  455. FUNCTION PrError: INTEGER;
  456.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  457.     INLINE $2F3C, $BA00, $0000, $A8FD;
  458.     {$ENDC}
  459. PROCEDURE PrSetError(iErr: INTEGER);
  460.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  461.     INLINE $2F3C, $C000, $0200, $A8FD;
  462.     {$ENDC}
  463. PROCEDURE PrGeneral(pData: Ptr);
  464.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  465.     INLINE $2F3C, $7007, $0480, $A8FD;
  466.     {$ENDC}
  467. PROCEDURE PrDrvrOpen;
  468.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  469.     INLINE $2F3C, $8000, $0000, $A8FD;
  470.     {$ENDC}
  471. PROCEDURE PrDrvrClose;
  472.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  473.     INLINE $2F3C, $8800, $0000, $A8FD;
  474.     {$ENDC}
  475. PROCEDURE PrCtlCall(iWhichCtl: INTEGER; lParam1: LONGINT; lParam2: LONGINT; lParam3: LONGINT);
  476.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  477.     INLINE $2F3C, $A000, $0E00, $A8FD;
  478.     {$ENDC}
  479. FUNCTION PrDrvrDCE: Handle;
  480.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  481.     INLINE $2F3C, $9400, $0000, $A8FD;
  482.     {$ENDC}
  483. FUNCTION PrDrvrVers: INTEGER;
  484.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  485.     INLINE $2F3C, $9A00, $0000, $A8FD;
  486.     {$ENDC}
  487. FUNCTION PrLoadDriver: INTEGER;
  488.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  489.     INLINE $2F3C, $D800, $0000, $A8FD;
  490.     {$ENDC}
  491.  
  492. {$ALIGN RESET}
  493. {$POP}
  494.  
  495. {$SETC UsingIncludes := PrintingIncludes}
  496.  
  497. {$ENDC} {__PRINTING__}
  498.  
  499. {$IFC NOT UsingIncludes}
  500.  END.
  501. {$ENDC}
  502.